1. Field of the Invention
The present invention relates generally to data processing networks, and more particularly to disaster recovery of servers in a data processing network.
3. Description of Related Art
Large institutional users of data processing systems such as banks, insurance companies, and stock market traders must and do take tremendous steps to insure back up data availability in case of a major disaster. More recently these institutions have developed a heightened awareness of the importance of reducing business interruptions due to server failure in view of the many natural disasters and other world events including power grid failures and the destruction of the World Trade Center in New York City.
Business interruption due to loss of a server at a primary site can be minimized by maintaining a replica of the server at a secondary site. The state of the server at the secondary site should be synchronized to a prior consistent state of the server at the primary site in order to reduce disruption when service is switched over to the secondary site upon loss of service at the primary site. This has been done by remote data mirroring of storage volumes or files in the primary site to the secondary site.
It is possible to minimize disruption due to server failure by synchronous mirroring of server state and stored data between a primary server and a secondary server. This technique is practical when the primary server and the secondary server are close together so that there is no more than a tolerable loss of performance due to the delay in transmitting state and data changes from the primary server to the secondary server and returning an acknowledgement from the secondary server to the primary server.
Unfortunately, for disaster protection, the primary server and secondary server must be geographically separated. For protection from large-scale disasters such as hurricanes, power grid failure, and nuclear attack, the primary and secondary servers should be separated by hundreds of kilometers. Once the primary and secondary servers are separated by hundreds of kilometers, it is impractical to mirror synchronously all of the state and data between the primary and secondary servers. This is especially true when it is desired to use a shared data transmission link rather than a dedicated link between the primary and secondary servers.
For remote mirroring, it is often impractical for the primary and secondary servers to have identical software or hardware. In the usual case, the primary server has been installed for quite some time in a local data network and the hardware and software of the primary server is obsolete. Yet there is no desire to replace the existing primary server because of the cost of labor and possible disruption of service during replacement. In this situation, it is often possible to use a single present generation hardware platform to support multiple virtual secondary servers.
A virtual secondary server provides replicas of the files stored on the primary server. The files include user data files, server configuration files, and user configuration information (such as user accounts, file ownership, and trustee rights) so that users may login immediately and access data in the event of a failure of the primary server.
For the typical case where the primary server and the virtual secondary server are supported by different hardware and software, there have been problems setting up the virtual secondary server in such a way that users can immediately access data in the event of a failure on the primary server. The hardware supporting the virtual secondary server must have sufficient storage and network resource for the virtual secondary server. The network resources must be set up to avoid address conflicts. Problems with storage resources, network resources, and address conflicts may not become known until an attempted failover from the primary server to the virtual secondary server.